<?php
/**
 * Created by PhpStorm.
 * 商品属性业务
 * User: caicm
 * Date: 2017/6/17
 * Time: 17:15
 */

namespace WMApi\Service;


use WMApi\Model\WmAttrModel;
use WMApi\Model\WmAttrValueModel;
use WMApi\Model\WmGoodsSkuModel;
use WMApi\Model\WmStoreModel;

class AttrService {

    /**
     * 获取商品属性列表
     * Created By caicm
     * @param int $classify_id 运营分类id
     * @param int $store_id 店铺id
     * @param int $attr_type 属性类型（1：主要属性，2：次要属性）
     * @return mixed
     */
    public function get_attr_list($classify_id=0, $store_id=0, $attr_type=1){
        $attr_model = new WmAttrModel();
        $attr_value_model = new WmAttrValueModel();

        //获取当前运营分类的商品属性
        $attr_info = $attr_model->get_attr_info($classify_id, $attr_type);
        //如果运营分类没有设定属性调用公用属性
        if(!$attr_info){
            $attr_info = $attr_model->get_attr_info();
        }

        $attr_info['attr_value'] = $attr_value_model->get_attr_vlaue_list($attr_info['attr_id'], $store_id);
        unset($attr_info['attr_id']);

        return $attr_info;

    }

    /**
     * 商品规格属性值添加
     * Created By caicm
     * @param int $seller_id 商家id
     * @param int $store_id 店铺id
     * @param int $attr_type 属性类型（1：主要属性，2：次要属性）
     * @param string $attr_value 属性值
     * @return mixed
     */
    public function add_attr_vlaue($seller_id=0, $store_id=0, $attr_type=1, $attr_value=''){
        $attr_value_model = new WmAttrValueModel();
        $attr_model = new WmAttrModel();
        $store_model = new WmStoreModel();

        //获取店铺运营分类id
        $classify_id = $store_model->get_parent_classify_id($seller_id, $store_id);

        //获取当前运营分类的商品属性
        $attr_info = $attr_model->get_attr_info($classify_id, $attr_type);
        if(!$attr_info){
            returnApiError('参数有误!!!');
        }

        //获取添加的属性值是否存在
        $attr_value_count = $attr_value_model->get_attr_value_count($attr_info['attr_id'], $store_id, $attr_value);
        if($attr_value_count){
            returnApiError('属性值已存在!!!');
        }

        return $attr_value_model->add_attr_vlaue($attr_info['attr_id'], $store_id, $attr_value);

    }

    /**
     * 商品规格属性是否选中
     * Created By caicm
     * @param array $attr_list
     * @param int $goods_id
     * @return array
     */
    public function get_edit_goods_attr($attr_list=array(), $goods_id=0){

        $sku_model = new WmGoodsSkuModel();
        //处理主属性
        foreach ($attr_list['main_attr_list']['attr_value'] as $key=>$value){
            $sku_info = array();
            $sku_info = $sku_model->find_sku_info($goods_id, $value['attr_value_id'], 0);
            $attr_list['main_attr_list']['attr_value'][$key]['is_add'] = $sku_info ? 1 : 0;
        }

        //处理次属性
        foreach ($attr_list['sec_attr_list']['attr_value'] as $key=>$value){
            $sku_info = array();
            $sku_info = $sku_model->find_sku_info($goods_id, 0, $value['attr_value_id']);
            $attr_list['sec_attr_list']['attr_value'][$key]['is_add'] = $sku_info ? 1 : 0;
        }

        return $attr_list;
    }
}